******** DEVELOPER UNIVERSITY CLASSROOM COURSE DESCRIPTIONS ********
<<<WHAT'S HOT?>>>
***** Programming with OpenDoc
~~~~~~~~~~~~~~
ADVANCED C++
~~~~~~~~~~~~~~
3 Days, $1,000
**Prerequisites: Students should already be fluent in C++ programming, including operator and function overloading, single and multiple inheritance, scoping of names and types, and templates. If you need to review these topics prior to taking this seminar, a suggested reading list is available from the registrar.
**Course Description: Learn the “language behind the language”: the idioms and design practices of C++ experts. This advanced course picks up where most courses and books leave off. Students will explore the use of C++ language features to solve complex problems of software engineering. Topics include modularity and reliability through indirection, designing type hierarchies, memory management, and packaging classes for greater modularity and reuse. You will be prepared for MacApp and other frameworks as well as Newton development.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
APPLE EVENTS/APPLESCRIPT PROGRAMMING
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 Days, $1500
**Prerequisites: This course requires a student to have at least one year experience programming in C, completion of the “Macintosh Programming Fundamentals” leader-led or self-paced course. Completion of at least the Apple Events section of "Intermediate Macintosh Application Programming" is also recommended.
**Course Description: Learn to use the Apple event Object Model and AppleScript to write applications which are scripting-savvy and can use both peer-to-peer and client-server collaboration. You will learn to take full advantage of the Open Scripting Architecture through hands-on experience with AppleScript software.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CREATING APPLE GUIDE HELP SYSTEMS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 DAYS, $1200
**Prerequisites: You should be familiar with the Macintosh user interface and concepts such as menus, dialog boxes, etc., and how a user might interact with them. You should also be familiar with word processors. Experience with designing and creating other types of user documents will be helpful.
**Course Description: Learn how to create powerful help systems using GuideMaker. Create an AppleGuide database for an existing application which can be used as a model for creating other help systems. You will write scripts that take full advantage of all of Apple Guide's capabilites (using ResEdit and AppleScript). Most importantly, we will cover design and organization issues that are unique for intelligent help systems. The course explores technical issues that you may need to convey to a programmer in order to facilitate the integration of your help system into an application. This course is specifically designed for technical writers, help system scripters, and desktop publishers.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DESIGNING OBJECT-ORIENTED FRAMEWORKS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 Days, $900
**Prerequisites: "Object-Oriented Fundamentals" course or equivalent.
Familiarity with the basic concepts of object-oriented programming. Experience reading simple C++ programs. Experience working with GUIs (e.g. Mac or Windows)
**Course Description: Learn the principles and tactics of developing object-oriented frameworks using C++. Gain an overview of the concept of "frameworks of objects," and explore both the software development process and recommended strategies for developing frameworks and applications based on frameworks. Learn the tactics and actual coding techniques for writing reusable object-oriented frameworks that encapsulate business expertise about specific problem domains, and build an application using multiple connected frameworks. The concepts and strategies for framework development are platform independent, although Macintosh computers are used in all of the learning examples.
**Prerequisites: In order to effectively complete this course, you must possess Macintosh programming skills equivalent to those covered in the “Macintosh Programming Fundamentals” classroom or self-paced course (that is, you must be able to write a simple Macintosh application). You must also be familiar with the THINK C programming environment.
**Course Description: Extend your knowledge and Macintosh programming skills beyond the fundamentals. You will build on the fundamentals skills, and write code that extends the functionality of a single-finder graphics editor to include QuickTime movies, Cut, Copy, Paste, TextEdit, TrueType Fonts, required Apple events, cooperative multi-tasking techniques, and other functions. Supplementary lectures and labs include a number of System 7.5 features such as Thread Manager, Drag and Drop, and PowerTalk, as well as GWorlds, the Translation and List Managers, and others.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MACINTOSH DEBUGGING STRATEGIES & TECHNIQUES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 Days, $900
**Prerequisites: This course requires prior completion of the “ Macintosh Programming Fundamentals” course Students should have at least 6 months of C or Pascal programming experience and have developed at least one Macintosh application that has windows and menus. They should understand the hexadecimal and binary number systems, Macintosh system error codes, pointers and handles, and heaps and stacks. A reading knowledge of 680X0 assembly language is highly recommended.
**Course Description: A classroom and debugging lab in one course. Learn how to anticipate potential source code bugs and create code that is less likely to crash by employing "anti-debugging" techniques. Gain experience debugging using source-level and machine-level debuggers. Starting in October, understand PowerPC debugging and learn how to use R2DB, the Power Macintosh source-level debugger.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MACINTOSH PROGRAMMING FUNDAMENTALS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 Days, $1500
**Prerequisites: A minimum of six months of C programming experience and the completion of at least one C program of moderate complexity (1,000+ lines). You should be familiar with such programs as MacWrite, MacPaint, and MacDraw, as well as with the Macintosh Finder.
**Course Description: MPF is an intensive introduction to Macintosh application development using THINK C™. In a lab and lecture setting, the student uses interactive modules from the MPF self-paced course, as well as instructor-led activities and labs to learn and implement fundamental Macintosh Toolbox Managers and calls in order to build a graphics application. The student will also implement the four required System 7 events, initialize ROM managers, build multiple windows, master TextEdit, create custom icons, print and more. The instructor will provide expert development advice, one-on-one support and lead group learning activities. Students will be given a copy of the self-paced course and will learn skills not taught in the self-paced course.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NEWTON PROGRAMMING: ESSENTIALS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 days, $1,500
**Prerequisites: You have developed a complete application in an object-oriented programming language. Basic familiarity with the use of a Macintosh computer.
**Course Description: Learn how to develop applications for Newton using NewtonScript and the state-of-the-art object-oriented development environment Newton Toolkit. In this class you will be introduced to Newton's hardware and software architecture, learn the object-oriented dynamic language NewtonScript, and develop an application using the Newton Toolkit and the user-interface guideline. The application will make use of the view system and the persistent object model, and implement Newton's find, filing and basic routing features.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NEWTON PROGRAMMING: COMMUNICATIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 days, $1,175
**Prerequisites: Completion of “Newton Programming: Essentials” or equivalent experience, including development of a complete Newton application that makes use of Soups, Find, Filing, Routing (Delete, Duplicate, Copy/Move). Students should have a thorough understanding of Newton's Inheritance System and basic debugging techniques, as well as experience in networking and communications.
**Course Description: Learn to implement custom communication capabilities in your Newton applications. Gain a thorough understanding of the Newton Communication Architecture, and perform programming exercises that implement State Machines, create communication endpoints for Serial, ADSP, Modem, beaming and paging. You’ll explore Newton communication debugging techniques. During the course, you’ll use and receive reusable source code examples and reference materials on the Newton Communications Architecture.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NEWTON PROGRAMMING: EXTENDED TOPICS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 days, $1,800.00
**Prerequisite: Successful completion of the "Newton Programming: Essentials" course or have developed a complete Newton application that makes use of Soups, Find, Filing, Routing (Delete, Duplicate, Copy/Move). Students should have a thorough understanding of Newton's inheritance system and basic debugging techniques.
** Course Description: Learn how to take your Newton application to the next level by using advanced performance and design techniques as well as learning more about the Newton Systems Services. You’ll learn to better design Soups and user interfaces, and explore more debugging techniques. You will learn how to take full advantage of NewtonScript, and the Recognition and View systems. The labs will assist you in implementing print, fax, and mail capabilities, adding Intelligent Assistance, Newton connection 2.0 support, access to system data, imaging, and dictionaries and sound.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
NEWTON TECHNOLOGY OVERVIEW
~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 Day, $325
**Prerequisites: None.
**Course Description: Understand Newton technology and how is it currently being used. This overview course is targeted to individuals and companies that need to evaluate Newton Technology. Students will get hands-on experience creating “digital books,” simple forms and an understanding of the basics of the Newton Toolkit. This course will provide information on current and future technology applications.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OBJECT-ORIENTED FUNDAMENTALS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 Days, $1500
**Prerequisites: This course requires a knowledge of Macintosh and C programming. The student should have written at least 1000 lines of C code.
**Course Description: Learn how to design and develop object-oriented solutions. Students with C Programming background will learn the entire skill set, from general object-oriented concepts to object-oriented analysis and design to implementation in C++. The students will work with and implement a design problem reinforcing the learning that is contained in the animated lectures. The CD materials will cover classes and objects, multiple inheritance, operator overloading, and more. In-depth lectures, discussions and supplemental course materials will provide additional context and assist the students in refining their own solutions. This course replaces Intermediate Object-Oriented Programming and Design in C++.
~~~~~~~~~~~~~~~~~
POWERPC BOOTCAMP
~~~~~~~~~~~~~~~~~
4 days, $1,600
**Prerequisites: Programming knowledge of C and 680x0 on the Macintosh. Completion of Macintosh Programming Fundamentals leader-led course, or self-paced course
**Course Description: A new course for developers who have existing Macintosh code and wish to port the code to the new PowerPC processor-based Macintosh systems. Using the MPW_hosted "Fast Track" development systems and extensive programming labs, you will get hands-on experience with the PowerPC development system. You'll receive in-depth information on the PowerPC architecture and instruction set, learn to use the "Fast Track" development environment, understand key PowerPC internals, learn to port your code to PowerPC and learn debugging techniques for the PowerPC. You may also bring your own code to work with in addition to the standard labs.
NB: This course is offered under non-disclosure. When you register for this course you will be asked to sign and return a non-disclosure agreement.
~~~~~~~~~~~~~~~~~~~~~~~~~~
PROGRAMMING WITH MACAPP 3
~~~~~~~~~~~~~~~~~~~~~~~~~~
5 Days, $1500
**Prerequisites: In order to participate in the MacApp 3 course, students must be able to program using C++ and must understand the elements of the Macintosh user interface and how they function within an application. Students should complete the “Introduction to Object-Oriented Programming” self-paced course , or demonstrate their knowledge of object-oriented programming. Such knowledge should include the advantages of object-oriented programming, object characteristics, classes and class diagrams, and polymorphism.
**Course Description: Students apply object-oriented programming skills while they explore the use of MacApp 3, Apple’s newest version of the industry standard application framework for the Macintosh. Students build a complete application with a rich System 7 feature set and place it inside a Macintosh user interface using all of the features of MacApp 3, including publish/subscribe, Apple events, behaviors, dependencies, iterators, custom failure handling, printing and many more. You will also will be able to explore the features that are unique to MacApp 3.1 and learn to compile applications for the Power Macintosh.
~~~~~~~~~~~~~~~~~~~~~~~~~
PROGRAMMING WITH OPENDOC
~~~~~~~~~~~~~~~~~~~~~~~~~
4 days, $1,600
**Prerequisite: MPF, or equivalent. Intro to C++ suggested but not required.
**Course Description: This course introduces the student to the user interface, underlying technologies, and architecture of Apple's OpenDoc document-centered technology. The course shows how to create OpenDoc "parts" around the core data engine, and how to implement rendering, event handling, and file input/output within the framework of a “part.” The course explores user-interface issues and the embedding of parts within documents. The course also covers AppleScript and OpenDoc parts, how to make parts scriptable, and how to create a custom application shell.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PROGRAMMING WITH QUICKDRAW GX
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 Days, $1600
**Prerequisites: This course assumes knowledge of Macintosh and C programming. You should have at least six months of C programming experience on the Macintosh, and have developed at least one Macintosh application.
**Course Description: Learn to take advantage of Apple's new imaging architecture for the Macintosh. This course teaches you to create and manipulate shapes, paths, viewports and line layouts to render object-based graphics and multi-lingual text on the screen as well as the printer. You will learn the memory management and debugging techniques to help you write efficient code within this new architecture.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
SCRIPTING WITH APPLESCRIPT
~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 Days, $600
** Prerequisites: User-level familiarity with common Macintosh business applications is essential. Completion of Introduction to AppleScript is desirable. Familiarity with a scripting language, such as HyperCard is highly desirable.
** Course Description: Learn how to write your own scripts for client-server environments that will customize activities such as mail merge, communications and mail handling, data exchange between applications, and others. You will learn the AppleScript scripting language and write scripts that manipulate, customize and automate the following applications: scriptable text, editor, HyperCard, FileMaker Pro, Excel and Tableserver. You will also learn how to use Frontmost to build interfaces for your scripts.
~~~~~~~~~~~~~~~~~~~~~~~~
INTRODUCTION TO OPENDOC
~~~~~~~~~~~~~~~~~~~~~~~~
1 day, $300
**Prerequisites: None.
**Course Description: Gain a complete review of Apple’s OpenDoc Architecture in this intensive technology review session. The course presents the concepts behind the document-centric development model, the OpenDoc user-interface model and the technologies underlying OpenDoc. The programming model will be presented and students will review code that defines and constructs a basic OpenDoc “part.”